package br.com.vilababy.sigvb.modelo;

import java.io.Serializable;
import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import br.com.vilababy.sigvb.constantes.EspecieDocumentoEnum;

@Entity
public class Boleto extends SIGVBModelo implements Serializable {

	/**
	 * @author Diego Patrick da Silva Santos
	 */
	private static final long serialVersionUID = 1L;

	@Id @GeneratedValue
	@Column(name="codigo_boleto")
	private Long id;
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="data_geracao", nullable=false)
	private Calendar dataGeracao;
	@Column(name="especie_documento", length=80)
	private EspecieDocumentoEnum especieDocumento;
	@ManyToOne
	@JoinColumn(nullable=false)
	private Cedente cedente;
	@Column(name="numero_remessa")
	private Integer numeroRemessa;
	private Integer numero;
	@Column(nullable=false)
	private Boolean pago;
	@Column(name="codigo_barra", nullable=false, length=100)
	private String codigoBarra;
	@Column(name="linha_digitavel", nullable=false, length=100)
	private String linhaDigitavel;
	@Column(name="nosso_numero", nullable=false, length=45)
	private String nossoNumero;
	@Column(length=150)
	private String anotacao;
	@Column(name="codigo_movimento_retorno", length=45)
	private String codigoMovimentoRetorno;
	@Column(name="motivo_ocorrencia", length=10)
	private String motivoOcorrencia;
	@Column(length=10)
	private String aceite;
	@Column(name="numero_banco_recebeu", length=10)
	private String numeroBancoRecebeu;
	@Column(name="numero_agencia_recebeu", length=10)
	private String numeroAgenciaRecebeu;
	
	
	public final Long getId() {
		return id;
	}
	public final void setId(Long id) {
		this.id = id;
	}
	public final Calendar getDataGeracao() {
		return dataGeracao;
	}
	public final void setDataGeracao(Calendar dataGeracao) {
		this.dataGeracao = dataGeracao;
	}
	public final EspecieDocumentoEnum getEspecieDocumento() {
		return especieDocumento;
	}
	public final void setEspecieDocumento(EspecieDocumentoEnum especieDocumento) {
		this.especieDocumento = especieDocumento;
	}
	public final Integer getNumeroRemessa() {
		return numeroRemessa;
	}
	public final void setNumeroRemessa(Integer numeroRemessa) {
		this.numeroRemessa = numeroRemessa;
	}
	public final Integer getNumero() {
		return numero;
	}
	public final void setNumero(Integer numero) {
		this.numero = numero;
	}
	public final Boolean getPago() {
		return pago;
	}
	public final void setPago(Boolean pago) {
		this.pago = pago;
	}
	public final String getNumeroBancoRecebeu() {
		return numeroBancoRecebeu;
	}
	public final void setNumeroBancoRecebeu(String numeroBancoRecebeu) {
		this.numeroBancoRecebeu = numeroBancoRecebeu;
	}
	public final String getNumeroAgenciaRecebeu() {
		return numeroAgenciaRecebeu;
	}
	public final void setNumeroAgenciaRecebeu(String numeroAgenciaRecebeu) {
		this.numeroAgenciaRecebeu = numeroAgenciaRecebeu;
	}
	public final String getCodigoBarra() {
		return codigoBarra;
	}
	public final void setCodigoBarra(String codigoBarra) {
		this.codigoBarra = codigoBarra;
	}
	public final String getLinhaDigitavel() {
		return linhaDigitavel;
	}
	public final void setLinhaDigitavel(String linhaDigitavel) {
		this.linhaDigitavel = linhaDigitavel;
	}
	public final String getNossoNumero() {
		return nossoNumero;
	}
	public final void setNossoNumero(String nossoNumero) {
		this.nossoNumero = nossoNumero;
	}
	public final String getAnotacao() {
		return anotacao;
	}
	public final void setAnotacao(String anotacao) {
		this.anotacao = anotacao;
	}
	public final String getCodigoMovimentoRetorno() {
		return codigoMovimentoRetorno;
	}
	public final void setCodigoMovimentoRetorno(String codigoMovimentoRetorno) {
		this.codigoMovimentoRetorno = codigoMovimentoRetorno;
	}
	public final String getMotivoOcorrencia() {
		return motivoOcorrencia;
	}
	public final void setMotivoOcorrencia(String motivoOcorrencia) {
		this.motivoOcorrencia = motivoOcorrencia;
	}
	public final String getAceite() {
		return aceite;
	}
	public final void setAceite(String aceite) {
		this.aceite = aceite;
	}
	public final Cedente getCedente() {
		return cedente;
	}
	public final void setCedente(Cedente cedente) {
		this.cedente = cedente;
	}
	
}
